package com.just521.xinshoutong.view;

import java.util.Calendar;

import android.app.Activity;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.just521.xinshoutong.R;
import com.just521.xinshoutong.common.CommonDefine.SkinSource;
import com.just521.xinshoutong.view.CRemindInfo.CRemindType;

public class ReminderView extends LinearLayout
implements NoteElePlugin{
	public static final int FLAG_TO_EDIT_REMIND =0x101;
	Activity msrc;
	CRemindInfo mnotify;
	TextView	Week[]	=	new	TextView[ 7 ];
	TextView	Time;
	public ReminderView(Context context) {
		super(context);
		init(context,null);
	}
	
	public ReminderView(Context context, AttributeSet attrs) {
		super(context, attrs);
		init(context, attrs);
	}
	private void init(Context context, AttributeSet attrs){
		setBackgroundResource(R.drawable.text_field_bg);
		setPadding(10, 10, 10, 10);
		setOrientation(LinearLayout.HORIZONTAL);
	}
	public void orignalData(Object data){
		if(data!=null){
			
		}
	}
	public void initData(Object data){
		if(data==null){
			insertItem();
		}else{
			mnotify=(CRemindInfo)data;
			//update view
			updateTime(mnotify);
		}
		
	}
	public void setActivity(Activity src){
		msrc=src;
	}
	public Object getData(){
		return mnotify;
	}
	private void insertItem(){
		LayoutInflater inf= LayoutInflater.from(getContext());
		View layout= inf.inflate(R.layout.reminddisplay, null);
		Time	=	(TextView)layout.findViewById(R.id.remind_remindinfo_remindsettingdata_tx0);
    	Week[0]	=	(TextView)layout.findViewById(R.id.remind_remindinfo_remindsettingdata_tx1);
    	Week[1]	=	(TextView)layout.findViewById(R.id.remind_remindinfo_remindsettingdata_tx2);
    	Week[2]	=	(TextView)layout.findViewById(R.id.remind_remindinfo_remindsettingdata_tx3);
    	Week[3]	=	(TextView)layout.findViewById(R.id.remind_remindinfo_remindsettingdata_tx4);
    	Week[4]	=	(TextView)layout.findViewById(R.id.remind_remindinfo_remindsettingdata_tx5);
    	Week[5]	=	(TextView)layout.findViewById(R.id.remind_remindinfo_remindsettingdata_tx6);
    	Week[6]	=	(TextView)layout.findViewById(R.id.remind_remindinfo_remindsettingdata_tx7);
		this.addView(layout);
	}
	
	public void showEditView(){
	}
	public void onLongClick(){
		
	}
	public void hideSoftInput(){
	}
	public String getViewType(){
		return "notify";
	}
	public boolean isDataChanged(){
		boolean b=false;
		
		return b;
	}
	private void updateTime(CRemindInfo clRemindInfo){
    	
//    	if(clRemindInfo!=null && clRemindInfo.m_iIsRemind == CMemoInfo.IsRemind_Yes )
//    	{
//        	
//        	
//        	ImageButton	Ibt	=	(ImageButton)findViewById(R.id.remind_remindinfo_alarmIcon);
//        	
//        	TextView	CountDownTime	=	(TextView)findViewById(R.id.remind_remindinfo_nextremind);
//        	CountDownTime.setTextColor(SkinSource.g_ValidTextColor);
//        	Time.setTextColor(SkinSource.g_ValidTextColor);
//    		
//    		if ( CRemindType.Remind_Type_CountDown == clRemindInfo.m_iType ||  CRemindType.Remind_Type_Once == clRemindInfo.m_iType 
//    			 || CRemindType.Remind_Type_Month == clRemindInfo.m_iType || CRemindType.Remind_Type_Year == clRemindInfo.m_iType )
//        	{
//    			for ( int i = 0; i < 7 ; ++i )
//    			{
//    				Week[i].setVisibility(View.GONE);
//    			}
//    			Time.setVisibility(View.VISIBLE);
//    			
//    			CDateAndTime	clCDateAndTime	=	new	CDateAndTime();
//    			Calendar clCalendar     =     Calendar. getInstance();
//    			if( CRemindType.Remind_Type_Once == clRemindInfo.m_iType )
//    			{  			
//        			clRemindInfo.getNormalTime( clCDateAndTime );            
//                    clCalendar.set(Calendar.YEAR, clCDateAndTime.iYear);
//                    clCalendar.set(Calendar.MONTH, clCDateAndTime.iMonth);
//                    clCalendar.set(Calendar.DAY_OF_MONTH, clCDateAndTime.iDay);  
//                    if(clCDateAndTime.bNongLi)
//                    {
//                    	LunarDate  ld = new LunarDate(clCDateAndTime.iYear, clCDateAndTime.iMonth+1, clCDateAndTime.iDay);
//                    	String  str = ld.toString();
//                    	str +=" ";       	
//                    	str += ld.toWeek().toString();    	
//         	
//                        Time.setText("提醒: "+str);                  	
//                    }
//                    else
//                    {
//                        Time.setText( String.format("提醒：%04d/%02d/%02d %02d:%02d", clCDateAndTime.iYear, clCDateAndTime.iMonth+1 
//                				, clCDateAndTime.iDay, clCDateAndTime.iHour, clCDateAndTime.iMinute) + " " + RemindActivity.getDayofWeek(clCalendar) );
//                        	
//                    }
//    			}
//    			else if( CRemindType.Remind_Type_CountDown == clRemindInfo.m_iType)
//    			{
//    				long	lTime	=	clRemindInfo.getCutDownTime();
//    				clCalendar.setTimeInMillis( lTime );
//    				
//                    Time.setText( String.format("提醒：%04d/%02d/%02d %02d:%02d", clCalendar.get(Calendar.YEAR), clCalendar.get(Calendar.MONTH) + 1
//            				, clCalendar.get(Calendar.DAY_OF_MONTH), clCalendar.get(Calendar.HOUR_OF_DAY), clCalendar.get(Calendar.MINUTE)) + " " + RemindActivity.getDayofWeek(clCalendar) );
//    			}
//            	else if ( CRemindType.Remind_Type_Month == clRemindInfo.m_iType )
//            	{
//        			clRemindInfo.getMonthTime( clCDateAndTime );            
//                    Time.setText( String.format("提醒：每月  %02d 日  %02d:%02d",
//                    				clCDateAndTime.iDay, clCDateAndTime.iHour, clCDateAndTime.iMinute));		
//            	} 
//            	else if(  CRemindType.Remind_Type_Year == clRemindInfo.m_iType)
//            	{
//            		clRemindInfo.getYearTime( clCDateAndTime );   
//            		
//            		if( clCDateAndTime.bNongLi )
//            		{
//            			
//                    	LunarDate  ld = new LunarDate(clCDateAndTime.iYear, clCDateAndTime.iMonth+1, clCDateAndTime.iDay);
//                    	String  str = ld.toStringMonth();  	
//         	
//                        Time.setText("提醒: 农历 每年" +str + String.format(" %02d:%02d", clCDateAndTime.iHour, clCDateAndTime.iMinute));      
//            			       			
//            		}
//            		else
//            		{
//                        Time.setText( String.format("提醒：每年  %02d/%02d %02d:%02d", clCDateAndTime.iMonth+1, clCDateAndTime.iDay, 
//                        		clCDateAndTime.iHour, clCDateAndTime.iMinute));           				
//            		}
//	
//            	}
//    			
//           				    			   		
//	        }
//        	else if( CRemindType.Remind_Type_Week == clRemindInfo.m_iType )
//        	{
//        		boolean		bIsEveryDay	=	true;
//        		
//        		for ( int i = 0; i < 7 ; ++i )
//    			{
//    				Week[i].setVisibility(View.VISIBLE);
//    				if( 1 == clRemindInfo.m_Week[i])
//    				{
//    					Week[i].setTextColor(SkinSource.g_ValidTextColor);
//    				}
//    				else
//    				{
//    					Week[i].setTextColor(SkinSource.g_InvalidTextColor);
//    					bIsEveryDay	=	false;
//    				}
//    			}
//        		
//    			CDateAndTime	clCDateAndTime	=	new	CDateAndTime();
//    			clRemindInfo.getWeekTime( clCDateAndTime, null );
//    			
//        		if( !bIsEveryDay )
//        		{
//        			Time.setText( String.format("%02d:%02d", clCDateAndTime.iHour, clCDateAndTime.iMinute));			
//        		}
//        		else
//        		{
//        			for ( int i = 0; i < 7 ; ++i )
//        			{
//        				Week[i].setVisibility(View.GONE);
//        			}
//        			Time.setText(String.format( String.format("每天  %02d:%02d", clCDateAndTime.iHour, clCDateAndTime.iMinute) ));
//        		}  			    		
//        	}
//
//        	else
//        	{
//        		//error
//        	}
//    		
//    		if ( CMemoInfo.IsRemind_Able_Yes == clRemindInfo.m_iRemindAble )
//    		{
////    			Status.setText("启用");
//    			Ibt.setBackgroundResource(R.drawable.remind_alarmicon_valid);
//    		}
//    		else
//    		{
////    			Status.setText("停用"); 
//    			Ibt.setBackgroundResource(R.drawable.remind_alarmicon_invalid);
//        		for ( int i = 0; i < 7 ; ++i )
//    			{
//    				Week[i].setTextColor(SkinSource.g_InvalidTextColor);
//    			}
//        		
////    				Status.setTextColor(Color.GRAY);
//    				Time.setTextColor(SkinSource.g_InvalidTextColor);
//    				CountDownTime.setTextColor(SkinSource.g_InvalidTextColor);
//    			
//    		}
//    		
//    		String	strTemp	=	clRemindInfo.getCountDownBySting();
//    		if ( null == strTemp ) 
//    		{
//    			CountDownTime.setText( "已过期 ");
//    		}
//    		else
//    		{
//    			CountDownTime.setText( strTemp );
//    		}
//    	}
    }
}
